In automatic assembly of a product by an industrial robot, the robot grasps a component after measuring a relative position and a relative orientation between the component to be grasped and the robot (a hand thereof). Examples of a method for measuring a position and an orientation include a measurement method using model fitting in which a three-dimensional model of an object is fitted to features detected in an image captured by a camera attached to the robot or installed in an environment and a range image obtained by a noncontact sensor (refer to NPL 1).
In an operation of assembling a complicated component, an image suitable for obtaining a position-orientation of the component may not be captured. In particular, when the robot grasps the component, the component is hidden by the robot hand, and therefore, features required for calculating the position-orientation of the component are lacked, and accordingly, the calculation of the position-orientation may fail. Furthermore, only a portion of the object may be captured by the camera installed near the robot hand, and therefore, it is likely that the calculation of the position-orientation of the component fails. Therefore, in general, the number of measurement apparatuses is required to be increased or an image capturing position is required to be adjusted so that the features required for the calculation of the position-orientation are sufficiently captured.
PTL1 discloses a method for obtaining a position of a target object by a detection unit using a captured image and correcting the obtained position in accordance with a position touched by a robot hand. However, in the method disclosed in PTL1, it is difficult to correct the position if the position of the target object is not obtained by the detection unit in a case where, for example, only a portion of the object is captured as described above.